10 CLS:PRINT "Angle Reduction Program:":CLS:SET N
20 PRINT "Stn E:";SE;:INPUT SE:PRINT "Stn N:";SN;:INPUT SN:CLS
30 PRINT "Stn Level:";RL;:INPUT RL:PRINT "Inst Ht:";IH;:INPUT IH:CLS
40 CLS:PRINT "      [B] Bearing to RO               [C] Coords of RO";
50 I$=INKEY$
60 IF I$="C" OR I$="c" THEN 80
70 IF I$="B" OR I$="b" THEN GOTO 90 ELSE 50
80 CLS:PRINT "RO Stn E:";ROE;:INPUT ROE:PRINT "RO Stn N:";RON;:INPUT RON:CLS:GOTO 80
90 CLS:PRINT "RO Brg:";DMS$(ROBEAR);:INPUT ROBEAR
100 CLS:PRINT "Horz Ang:";DMS$(HZANG);:INPUT HZANG:PRINT "Vert Ang:";DMS$(VA);:INPUT VA:CLS
110 PRINT "Slope Dist:";SLOPE;:INPUT SLOPE:PRINT "Target Ht:";TH;:INPUT TH:CLS:PRINT "Wait...";
120  IF I$="B" OR I$="b" THEN GOTO 110
130 Z=POL((ROE-SE),(RON-SN)):ROBEAR=90-Y:IF ROBEAR<0 THEN ROBEAR=ROBEAR+360
140 HZBEAR=ROBEAR+HZANG
150 HZDIST=COS(90-VA)*SLOPE
160 PTE=SIN(HZBEAR)*HZDIST+SE:PTN=COS(HZBEAR)*HZDIST+SN
170 PTH=TAN(90-VA)*HZDIST+RL+IH-TH
180 CLS:BEEP 0:PRINT "x:";ROUND(PTE,-6);TAB(16);"y:";ROUND(PTN,-6);TAB(32);"z:";ROUND(PTH,-5);TAB(47);"Hz:";ROUND(HZDIST,-5)
190 CLS:GOTO 100